package errs

func Is(err, target error) bool {
	panic("only invoke in kagura")
}

//goland:noinspection GoErrorsAs
func As(err error, target interface{}) bool {
	panic("only invoke in kagura")
}

// New returns an error that formats as the given text.
// Each call to New returns a distinct error value even if the text is identical.
func New(text string, args ...interface{}) error {
	panic("only invoke in kagura")
}

// Wrap returns an error annotating err with a stack trace
// at the point Wrap is called, and the supplied message.
// If err is nil, Wrap returns nil.
func Wrap(err error, format string, args ...interface{}) error {
	panic("only invoke in kagura")
}

// Cause returns the underlying cause of the error, if possible.
// An error value has a cause if it implements the following
// interface:
//
//     type causer interface {
//            Cause() error
//     }
//
// If the error does not implement Cause, the original error will
// be returned. If the error is nil, nil will be returned without further
// investigation.
func Cause(err error) error {
	panic("only invoke in kagura")
}

// Append is a helper function that will append more errors
// onto an Error in order to create a larger multi-error.
//
// If err is not a multierror.Error, then it will be turned into
// one. If any of the errs are multierr.Error, they will be flattened
// one level into err.
// Any nil errors within errs will be ignored. If err is nil, a new
// *Error will be returned.
func Append(err error, errs ...error) error {
	panic("only invoke in kagura")
}

func AsArray(err error) []error {
	panic("only invoke in kagura")
}
